﻿Imports System.Collections.ObjectModel

Public Class LR1Conflict
    Private m_conflictActions As IList(Of ILR1Action)

    Public ReadOnly Property ConflictActions() As ReadOnlyCollection(Of ILR1Action)
        Get
            Return New ReadOnlyCollection(Of ILR1Action)(m_conflictActions)
        End Get
    End Property


    Private m_ambiguityState As LR1TransitionTableRow
    Public ReadOnly Property AmbiguityState() As LR1TransitionTableRow
        Get
            Return m_ambiguityState
        End Get
    End Property


    Public Sub New(ByVal state As LR1TransitionTableRow, ByVal ParamArray conflictActions As ILR1Action())
        Contract.ArgumentNotNull(state, "state")
        Contract.ArgumentNotNull(conflictActions, "ambiguityActions")

        m_ambiguityState = state
        m_conflictActions = conflictActions
    End Sub
End Class